/**
 * @file erros.h
 * Contém macros que definem códigos de erro e mensagens padrões de erro, além
 * de funções para imprimir erros.
 */

#ifndef ERROS_H_
#define ERROS_H_

/**
 * Variável global que guarda o código do erro causado pela última função
 * chamada.
 */
enum {
	OK,				///< Não houve erro
	ERRUNDEF		///< Erro indefinido
} erro;

void printerr() {
	switch (erro) {
	case OK:
		fputs("A variável 'erro' indica que não houve erro, essa mensagem nunca"
				" deveria aparecer.", stderr);
		break;
	case ERRUNDEF:
		fputs("Erro indefinido.", stderr);
		break;
	default:
		fputs("Não há mensagem de erro padronizada para o erro ocorrido. Essa "
				"mensagem nunca deveria aparecer.", stderr);
	}
}

#endif /* ERROS_H_ */
